package com.ruoyi.crm.domain;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseFlowEntity;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 验收对象 crm_acceptance_sheet
 *
 * @author 最帅陈彬彬
 * @date 2024-12-06
 */
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class CrmAcceptanceSheet extends BaseFlowEntity{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /** 项目id */
    @Excel(name = "项目id")
    private String projectId;

    /** 商机id */
    @Excel(name = "商机id")
    private String orderId;

    /** 客户id */
    @Excel(name = "客户id")
    private String customerId;

    /** 验收日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "验收日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receptionTime;

    /** 项目建设单位 */
    @Excel(name = "项目建设单位")
    private String projectUnit;

    /** 项目联系人 */
    @Excel(name = "项目联系人")
    private String projectContacts;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String phone;

    /** 项目开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 项目结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 项目建设情况总结报告 */
    @Excel(name = "项目建设情况总结报告")
    private String projectReport;

    /** 项目完成情况 0全部完成 1部分完成 2未完成 */
    @Excel(name = "项目完成情况 0全部完成 1部分完成 2未完成")
    private String projectPerformance;

    /** 系统功能 0满足要求 1基本满足 2未达到要求 */
    @Excel(name = "系统功能 0满足要求 1基本满足 2未达到要求")
    private String systemFunction;

    /** 使用情况 0正常稳定 1基本稳定 2不够稳定 */
    @Excel(name = "使用情况 0正常稳定 1基本稳定 2不够稳定")
    private String serviceCondition;

    /** 其它（意见建议） */
    @Excel(name = "其它", readConverterExp = "意=见建议")
    private String other;

    /** 验收结论 0验收通过 1验收不通过 */
    @Excel(name = "验收结论 0验收通过 1验收不通过")
    private String conclusion;

    /** 验收组（签名） */
    @Excel(name = "验收组", readConverterExp = "签=名")
    private String signature;

    /** 附件 */
    @Excel(name = "附件")
    private String url;

    /** 删除标记（0 未删除 1 删除） */
    @TableLogic
    private String delFlag = "0";
    /**
     * 备注
     */
    private String remark;

    /** 否，选择后取消必填 */
    @Excel(name = "否，选择后取消必填")
    private String required;

    @TableField(exist = false)
    private String orderName;

    @TableField(exist = false)
    private String customerName;


}
